package com.datastructure.test.splitstring;

import java.util.ArrayList;

//划分字母区间
public class SplitString {

    public static void main(String[] args) {

    }

    public int[] splitString (String s) {
        // write code here
        int[] nums=new int[26];
        //得到每个字符最后一次出现的位置
        for(int i=0;i<=s.length()-1;i++){
            nums[s.charAt(i)-'a']=i;
        }
        ArrayList<Integer> list=new ArrayList<>();
        int end=0,start=0;
        for(int i=0;i<s.length();i++){
            end=Math.max(end,nums[s.charAt(i)-'a']);
            if(i==end){
                list.add(end-start+1);
                start=end+1;
            }
        }
        int[] result = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            result[i]= list.get(i);
        }
        return result;
    }
}
